Graphical item chooser

ABSTRACT

A graphical item chooser sorts candidate products or services by initially classifying each of one or more objective icons as a primary objective icon or a secondary objective icon. Each objective icon represents one or more desired characteristics of a product or service that facilitates a particular objective. The graphical item chooser may further determine at least one most desired characteristic of the ideal product or service. The determination is made based on a frequency that each desired characteristic is represented by the one or more objective icons. Having made the determination, the graphical item chooser then sorts the candidate products or services based at least on similarities between one or more characteristics of each candidate product or service and the at least one most desired characteristic. Following the sort, the graphical item chooser generates a sorted list of suitable products or services.

BACKGROUND

Consumers may rely on shopping search engines to find competitiveretailers of products and services while shopping online. However, whileshopping search engines may enable consumers to make their purchasingdecisions based on price, they do not provide consumers with the expertassistance for selecting the one product or service that actually suitstheir needs. Consumers may attempt to find the right product or serviceby conducting their research online via review and information sites,but such research may be tedious, time consuming, and/or difficult foraverage consumers to carry out. Thus, consumers may end up with productsor services that are inadequate for their needs, or products or serviceswith features that the consumers do not desire. In addition, consumersoften pay premiums for the undesired features.

In some instances, consumers may actually forego the online shoppingexperience and visit brick-and-mortar retailers to receive personalizedassistance with the selection of the appropriate products or services.As a result, online retailers may lose sales and profits despite havingthe most competitive prices. Moreover, consumers often have no assurancethat the assistance received at brick-and-mortar retailers are adequate,as there is no guarantee that sales associates at such retailers havethe necessary training, knowledge, motivation, or skills to recommendthe appropriate product or service.

Moreover, scenarios involving decision making based on imperfectinformation is not limited to online retail settings, consumers oftenhave to make decisions choices based on limited information or expertisein other aspects of their lives.

BRIEF DESCRIPTION OF THE DRAWINGS

The detailed description is described with reference to the accompanyingfigures. In the figures, the left-most digit(s) of a reference numberidentifies the figure in which the reference number first appears. Thesame reference numbers in different figures indicate similar oridentical items.

FIG. 1 shows an illustrative computing environment in which one or moreembodiments of the graphical item chooser may be implemented, inaccordance with one or more embodiments.

FIGS. 2a and 2b show an illustrative user interface screen of thegraphical item chooser that enable objective-based sorting of productsor services, in accordance with one or more embodiments.

FIG. 3 shows illustrative behavior of a user interface icon of thegraphical item chooser in response to user interaction, in accordancewith one or more embodiments.

FIG. 4 shows the example use of checkboxes for the selection one or moreobjectives for an ideal product or service, as well as the assignment ofdifferent weights to the one or more selected objectives, in accordancewith one or more embodiments.

FIGS. 5a and 5b show an illustrative user interface screen of thegraphical item chooser that enables the binary selection of desiredfeatures for a product or service, in accordance with one or moreembodiments.

FIGS. 6a and 6b show an illustrative user interface screen of thegraphical item chooser that enables customization of the product orservice recommendations, in accordance with one or more embodiments.

FIG. 7 shows an example price display that is instantiated when a userselects a price that is displayed as part of the sorted recommendationlist, in accordance with one or more embodiments.

FIG. 8 is a flow diagram of an illustrative process for determining oneor more product or service recommendations using the graphical itemchooser, in accordance with one or more embodiments.

FIG. 9 is a flow diagram of an illustrative process for implementingobjective-based sorting using the graphical item chooser, in accordancewith one or more embodiments.

FIG. 10 is a flow diagram of an illustrative process for implementfeature-based selection using the graphical item chooser, in accordancewith one or more embodiments.

DETAILED DESCRIPTION Overview

The disclosure is directed, in part, to a graphical item chooser thatenables a user to select an appropriate product or service withoutsearching for information from multiple sources. For example, the usermay use the graphical item chooser to select the appropriate product orservice without having to visit different information websites,different review websites, and/or multiple online shopping searchengines. In various embodiments, the graphical item chooser may be a webbrowser based application that runs on an electronic device. Thus, thegraphical item chooser may contain the most up-to-date information.However, in additional embodiments, the graphic item chooser may also bea standalone application running on the electronic device. Theelectronic device may be a general purpose computer, a home theaterpersonal computer (PC), or a dedicated device (e.g., a web browsingappliance, a point-of service (POS) device, and the like).

As described herein, the graphical item chooser may include anicon-based user interface that enables the user to intuitively selectand rank the desired objectives that the user hopes to achieve with anideal product or service, as well as select and rank characteristicsthat the user wants or does not want in the ideal product or service. Inreturn, the graphical item chooser may provide recommended products orservices based on the most desired objectives, as well as the most idealcharacteristics. The graphical item chooser may further provide the userwith price information on the recommended products or services. In thisway, the graphical item chooser may provide the user with sufficientinformation to select the appropriate product or service, as well asobtain the appropriate product or service at a competitive price. As aresult, the likelihood that the user may select a product or servicethat does not meet needs, or a product or service that includesundesirable features, may be reduced.

For the purpose of discussion, the graphical item chooser is describedin this disclosure with respect to selecting an item for purchase, suchas a digital camera. However, it will be appreciated that the graphicalitem chooser may be implemented for other products and services, whetheroffered for sale or otherwise. For instance, the described techniquesmay enable a user to select a travel destination, a restaurant to atwhich to dine, a university or college to attend, one or more users tointeract with (e.g., socially, romantically, etc.), a career to pursueor any other similar or different product or service. Moreover, anillustrative environment and techniques for implementing the graphicalitem chooser is provided below. However, the described graphical itemchooser may be implemented in other environments.

Illustrative System Architecture

FIG. 1 shows an illustrative computing environment 100 in which one ormore embodiments of the graphical item chooser may be implemented, inaccordance with one or more embodiments. The environment 100 may includeone or more servers 102 and a plurality of electronic devices 104 thatare communicatively connected by a network 106. The one or more servers102 may be located in a single data center, or across multiple datacenters. In addition, the techniques described below may be implementedin non-client/server environments.

The network 106 may be a local area network (“LAN”), a larger networksuch as a wide area network (“WAN”), or a collection of networks, suchas the Internet. Protocols for network communication, such as TCP/IP,may be used to implement the network 106. Although embodiments aredescribed herein as using a network such as the Internet, otherdistribution techniques may be implemented. The electronic devices 104may include a mobile phone 104(1), a portable computer 104(2), a tabletcomputer 104(3), an e-book reader 104(4), a personal digital assistant(PDA) 104(N), and/or other electronic devices that are equipped withnetwork communication components, data processing components, andelectronic displays for displaying data.

In one or more embodiments, each of the electronic devices 104 may beimplemented with the graphical item chooser 116. In various embodiments,the graphical item chooser 116 may be implemented as a browser-based orother client-based application. Accordingly, the graphical item chooser116 may be provided by the server 102 to the devices 104 via the network106. In turn, the graphical item chooser may be displayed on theelectronic displays of the electronic devices 104. Each of theelectronic display may be a liquid crystal display (LCD), organic lightemitting diode (OLED) display, a plasma display, an electronic paperdisplay, or any other form of electronic display that is capablepresenting data.

Each of the electronic devices 104 may further include user controlsthat enable a user to interact with the device. User controls mayinclude, but are not limited to, combinations of one or more of keypads,keyboards, mouse devices, touch screens, microphones, speech recognitionpackages, and any other suitable devices or other electronic/softwareselection methods. Moreover, as further described below, each of theelectronic devices 104 may also include a memory for storing thegraphical item chooser and its associated product and service data.

As shown in FIG. 1, each of the electronic devices 104 may include oneor more processors 108 and a storage media 110. The modules may includeroutines, programs, objects, components, and data structures that causethe electronic device 104 to perform particular tasks. The storage media110 may store an operating system 112, a web browser 114, as well asother modules.

The operating system 112 may include components that enable anelectronic device 104 to receive data via various inputs (e.g., usercontrols, network interfaces, and/or memory devices), process data usingthe one or more processors 108 to generate output. The operating system112 may include a display component that presents the output (e.g.,display the digital image on an electronic display, store data inmemory, transmit data to another electronic device, etc.). Additionally,the operating system 112 may include other components that performvarious other functions generally associated with an operating system.

The web browser 114 may implement the graphical item chooser 116.Moreover, the graphical item chooser 116 may store its data in a datacache 118 of the web browser 114. As further described below, such datamay include, but not limited to, a sort algorithm 120, review ratingdata, hyperlink data, characteristics and/or features of variousproducts or services, as well as other data used by the graphical itemchooser 116.

In operation, the web browser 114 may download one or more web pages 108that display and operates the graphical item chooser 116. The one ormore web pages 108 may include HTML objects, script objects, CascadeStyle Sheet (CSS) objects, image objects, as well as other static anddynamic objects (e.g., algorithms). These objects may be downloaded fromthe one or more servers 102 and assembled by the web browser 114 intothe graphical item chooser 116. The operation of the graphical itemchooser 116 may be further illustrated in FIGS. 2a and 2 b.

FIGS. 2a and 2b show an illustrative user interface screen 200 of thegraphical item chooser that enable objective-based sorting of productsor services, in accordance with one or more embodiments. The graphicalitem chooser 116 may be implemented by the web browser 114 (FIG. 1).

As shown in FIG. 2a , the graphical item chooser 116 may display a workarea 202 in the user interface screen 200. In various embodiments, thework area 202 may include a plurality of objective icons 204(1)-204(N),a primary criteria selection portion 206, a secondary criteria selectionportion 208, a results portion 210, navigation buttons 220-220.

Each of the object icons 204(1)-204(N) may represent an objective that auser desires from a product or services. In the context of a graphicalitem chooser 116 that assists a user in purchasing a digital camera,each of the objective icons 204(1)-204(2) may represent the intendedobjective for the desired camera that the user wishes to purchase. Forexample, icon 204(1) may represent taking close-up photos of objects,objective icon 204(2) may represent taking photos of family members, andobjective icon 204(3) may represent taking night portraits. Likewise,objective icon 204(4) may represent taking travel photos, objective icon204(5) may represent taking underwater photos, and objective icon 204(6)may represent taking photos of scenery, and so on and so forth.

In some embodiments, the objective icons 204(1)-204(N) may be positionedin a randomly stacked such that at least two of the objective icons204(1)-204(N) overlap. This random stacking of the objective icons204(1)-204(N) may produce a casual yet easy to view environment for theuser. However, in other embodiments, the objective icons 204(1)-204(N)may be presented in a linear fashion (i.e., in one or more rows). Insome of these embodiments, the one or more rows of objective icons204(1)-204(N) may be presented linearly in a scrollable window with atleast one scroll bar, in the event that the arrangement of the work area202 is not able to simultaneous display all the objective icons204(1)-204(N).

Additionally, each of the objectives represented by the objective icons204(1)-204(N) may be associated with one or more product or servicecharacteristics that facilitate the intended objective. For example, inthe context of a camera chooser, the objective icon 204(1), whichcorresponds to the objective of taking close-up photos of objects, maybe associated with camera characteristics such as having one or more ofa macro lens, through-the-lens (TTL) metering, ring flash, externalflash attachment, and/or the like. Likewise, objective icon 204(3),which corresponds to the objective of taking night portrait, may beassociated with camera characteristics such as one or more of a manualshutter control, external flash attachment, wide-angle lens, full-framesensor, and/or the like. As a further example, objective icon 204(4),which corresponds to taking travel photos, may be associated with cameracharacteristics such as one or more of compact size (e.g., capable offitting into a shirt pocket), fast shutter speed, removable memorycards, water resistance, and/or the like.

In further embodiments, each of the objectives represented by theobjective icons 204(1)-204(N) may also be associated with a combinationof product or service characteristics that facilitate the intendedobjective. Thus, in another example involving objective icon 204(1) inthe context of a camera chooser, objective icon 204(1) may be associatedwith a particular combination of a macro lens, through the lens (TTL)metering, ring flash, and external flash attachment. Likewise, objectiveicon 204(3) may be associated with a particular combination of a manualshutter control, external flash attachment, wide-angle lens, andfull-frame sensor.

With the use of these embodiments, the user may use objective icons,such as the objective icons 204(1)-204(N), to select products orservices that achieves the intended objective without necessarily havingthe knowledge, or having the resources or skills to acquire theknowledge, to achieving the intended objective. For example, in anothercontext, the objective icons may be used to select an employee from apool of employees to perform a project. In such an example, each of theobjective icons may represent a specific task to be performed (e.g.,managing a software development project, managing an advertisingcampaign, managing a tax audit, collect funds from clients, etc.).Moreover, each of the objective icons may be associated with the desiredcharacteristics, such as ideal qualifications for each task. Forexample, the objective icon for managing a tax audit may be associatedwith one or more of a degree in accounting, a background in bookkeeping,certification in accounting, extensive amount of experience in dealingwith government agencies, a license to practice law, etc.

In another example, the objective icons may be used to select a caninecompanion from various breeds. In such an example, each of the objectiveicons may represent a desired purpose for the canine companion (e.g.,companionship, herding other animals, search and rescue, hunting,personal protection, etc.) Moreover, each of the objective icons may beassociated with canine characteristics that are suitable for eachpurpose. For example, the objective icon for herding other animals maybe associated with one or more characteristics such as relatively highintelligence, relatively strong physical strength and agility,relatively long endurance, acute hearing, easy to groom, etc.

As shown in FIG. 3, in order to facilitate the use of the objectiveicons, such as the object icons 204(1)-204(N), the graphical itemchooser 116 may provide additional details regarding each intendedobjective.

FIG. 3 shows illustrative behavior of the objective icon 204(1) of thegraphical item chooser 116 in response to user interaction, inaccordance with one or more embodiments. As shown, the illustrativebehavior is presented in the context of camera purchase decision making.The objective icon 204(1) may expand as a user positions a pointer 302over the objective icon. The pointer 302 may be part of a graphical userinterface (GUI) that displays the web browser 114. The expansion of theobjective icon 204(1) may be shown in instance 304. The expansion of theobjective icon 204(1) may enable a user to more clearly view theobjective icon, as well as present another navigation region 306 to theuser. The user may allow the objective icon 204(1) to revert to itsoriginal size by removing the pointer 302 from the objective icon.

However, as shown in instances 304 and 308, if the user desires toactivate the navigation region 306, the user may further position thepointer 302 on the region. The activation of the navigation region 306may instantiate an information display 310 that provides additionalwritten description of the objective icon 204(1). Once again, the usermay allow the objective icon 204(1) to revert to its original size byremoving the pointer 302 from the navigation region. In furtherembodiments, the graphical item chooser 116 may provide expansion of theobjective icon 204(1) and/or additional information in response to otheremphasis actions (e.g., single click of a mouse, double clicks of mouse,display screen taps, etc.).

Returning to FIG. 2a , each of the first and secondary criteriaselection portions 206 and 208, respectively, may enable the user selectand rank the one or more desired objectives for the product and service.Accordingly, the user may select each desired objective for the productor service by drag and drop one or more of the objective icons204(1)-204(N) into the primary criteria selection portion 206 or thesecondary criteria selection portion 208. For example, as shown in FIG.2b , the user may drag and drop objective icons 204(3) and 204(4) intothe primary criteria selection portion 206, and drag and drop theobjective icon 204(1) into the secondary criteria selection portion 208.

In various embodiments, the one or more objectives (e.g., objectiveicons 204(3) and 204(4)) dragged and dropped into the primary criteriaselection portion 206 may be weighted more heavily than any objectives(e.g., objective icon 204(1)) dragged and dropped into the secondarycriteria selection portion 208. For example, the sort algorithm 120 ofthe graphical item chooser 116 may assigns each of the objectives in theprimary criteria selection portion 206 a weight of “2×”, and each of theobjectives in the secondary criteria selection portion 208 a weight of“1×”. In this way, the sort algorithm 120 may sort a plurality ofcandidate products or services based on the weights assigned to eachobjective, and present a list of sorted products or services thatmatches the weighted objectives in the result display portion 210. Forexample, in the context of camera purchase, the primary criteriaselection portion 206 (e.g., weight of “2×”) may be labeled as “I take alot of images like this”, and the secondary criteria selection portion208 (e.g., weight of “1×”) may be labeled as “I occasionally take imageslike this.” Further, the graphical item chooser 116 may sort thecandidate products or services, and present a list of sorted cameras212(1)-212(6) in the result display portion 210.

However, the sort algorithm 120 may sort the plurality of candidateproducts or services even when the objective icons are only present inone of the primary criteria selection portion 206 or the secondarycriteria selection portion 208. In other words, the graphical itemchooser 116 may sort the candidate products or services without weighingthe intended objectives.

In alternative embodiments, the selection of one or more objectives foran ideal product or service, as well as the assignment of differentweights to the selected objectives, may be accomplished without thespecific use of the primary and secondary criteria selection portions206 and 208, respectively. For example, but not as limitation, suchselection and assignment may be achieve via the use of checkboxes, radiobuttons, questionnaires, and/or the like. The example use of checkboxesfor selection and weight assignment of one or more objectives for anideal product or service is illustrated in FIG. 4.

FIG. 4 shows the example use of checkboxes for the selection one or moreobjectives for an ideal product or service, as well as the assignment ofdifferent weights to the selected objectives. In various embodiments,the checkbox selection portion 402 may include the objective icons204(1)-204(N), each of the objective icons may be associated with twocheckboxes. One of the two checkboxes (e.g., checkbox 404) for eachobjective icon (e.g., objective icon 204(1)) may be for selecting anddesignating the objective represented by the objective icon as a desiredobjective of a primary weight 408. Similarly, the other of the twocheckbox (e.g., checkbox 406) may be for selecting and designating thepresented by the objective icon (e.g., icon 204(1)) as a desiredobjective of a secondary weight 410. Thus, the checkbox selectionportion 402, as shown in FIG. 4, may replicate the options given by theobjective icons 204(1)-204(N), the primary criteria selection portion206, and the secondary criteria selection portion 208, as shown in FIGS.2a and 2b . Accordingly, the checkbox selection portion 402 may be asubstitute for the randomly stack objective icons 204(1)-204(N) of thework area 202 shown in FIGS. 2a and 2 b.

In addition, while the above figures illustrate that the techniquesallow a user to select primary criteria and secondary criteriaassociated with an item, other embodiments may instead allow the user toonly select one or more primary criteria. That is, the user may simplyselect how the user intends to use the item, rather than how theyprimarily and secondarily intends to use the item. In still otherembodiments, the techniques may allow the user to rate the planned userswith even more granularity that illustrated in FIGS. 2-4. For instance,a user may assign their own weight to the characteristic (e.g., on ascale of zero to ten). In such an instance, the user may rate acharacteristic as zero (0) if the user never plans to use the item inthat particular manner, while rating another characteristic as a ten(10) if the user almost always plans to use the item in that secondmanner. The user may then rate characteristics in between (e.g., 5.6,2.3, 7, etc.) for uses that fall somewhere in between.

Returning to FIG. 2a , the sort algorithm 120 may calculate asuitability score for each of a plurality of candidate products orservices based on multiple factors, and further sort the candidateproducts or services according to the suitability scores. The factorsmay include the one or more user inputted objectives for the product andservices, as reflected in drag and drop selection of one or moreobjective icons from the objective icons 204(1)-204(N). As describedabove, each objective icon 204(1)-204(N) may be associated withcharacteristics of the products or services that facilitate theparticular objective. Thus, by selecting an object icon into anobjective criteria selection portion, the user essentially chooses thecharacteristics represented by the objective icon as desirable.

Accordingly, the sort algorithm 120 may ascertain the one or more mostdesirable characteristics of the product or service based on thefrequency that each associated characteristic is chosen via one or moreselected objective icons. For example, in the context of a cameragraphical item chooser, the characteristic of “wide angle lens” may bechosen via the selection of 5 objective icons, and the characteristic of“zoom lens” may be chosen only once via the selection of a singleobjective icon. As a result, the sort algorithm 120 may heuristicallydetermine that the characteristic of “wide angle lens” is more desirableto the user than the characteristic of “zoom lens.”

The factors may further include the placement of the selected objectiveicons in the primary criteria selection portion 206 or the secondarycriteria selection portion 208, which may determined the weight assignedto each selected objective. For example, in the context of a camera dropand chooser, the characteristic of a full-frame sensor may be chosen viathe placement of an objective icon in the primary criteria selectionportion 206. On the other hand, the characteristic of through-the-lens(TTL) metering may be chosen via the placement of an objective in thesecondary criteria selection portion 208. Thus, the full-frame sensorcharacteristic may be weighed more heavily than the through-the-lens(TTL) metering characteristic.

The factors may also include one or more characteristics of eachcandidate product or service. In other words, the factors may alsoinclude the specification of each candidate product or service. Forexample, in the context of a camera graphical item chooser, thecharacteristics for each camera may include whether each camera hasmacro lens, through-the-lens (TTL) metering, ring flash, external flashattachment, manual shutter control, wide-angle lens, full-frame sensor,etc.

The factors may alternatively or additionally include review rating ofeach candidate product or service. In the example of the cameragraphical item chooser, the review rating of each camera may be based onthe perceived quality of the camera, the perceived usability of thecamera, the perceived durability of the camera, the perceived aestheticsof the camera, and/or the like. Thus, the sort algorithm 120 mayevaluate the suitability of each candidate product or service forachieving the desired objectives based on these factors, and generate asort list of the products or services according to suitability.

Thus, by using one or more of these factors, the sort algorithm 120 maysort the plurality of candidate products or services based at least onsimilarities between one or more characteristics of each candidateproduct or service and the one or more most desired characteristics. Invarious embodiments, the more closely the characteristics of aparticular candidate product or service match the one or more mostdesirable characteristics of the ideal product or service, the moresuitable the particular product or service is determined to be. In someembodiments, the determined suitability of each product or service mayalso influence by the review rating of the product or service. Forexample, in an instance where two products or service are substantiallyequal in suitability for achieve the one or more desired objectives, theproduct or service with the higher review rating may be deemed moresuitable.

As shown in FIG. 2b , the graphical item chooser 116 may display thesorted products or services in a display portion 210. In someembodiments, the graphical item chooser 116 may display the sortedproducts or services according to a descending order based on theirsuitability for achieving the one or more desired objective, that is,from the most suitable to the least suitable. However, in otherembodiments, the sorted products or services may also be displayed fromthe least suitable to the most suitable. In the event that the resultdisplay portion 210 is not able to simultaneous display all the sortedproducts or services, the result display portion 210 may display ascroll bar for displaying additional results. In other embodiments, theresult display portion 210 may display a partial list, i.e., apredetermined number of candidate products or services that have beensorted according to the criteria 206 and 208.

In various embodiments, the result display portion 210 may display eachof the sorted candidate products or services via a pictorialrepresentation (e.g., picture 212), and/or via a written description(e.g., written description 214). The written description may includeinformation such as the manufacturer, service provider, style, model,features, and/or highlights of the particular product or service. Insome embodiments, the result display portion 210 may further display thesuitability score (e.g., score 216) for each of the sorted product orservice. The score may represent on a numerical scale (e.g., 1-10), thesuitability of the product or service for achieving the desiredobjective, as calculated and sorted by the sort algorithm 120.

While the sort algorithm 120 is illustrated in FIGS. 2a and 2b asperforming sort operations based on two weighted groups of criteria, thesort algorithm 120 may use any plurality of weighting groups to assignmore different levels of significance (e.g., 1×, 2×, 3×, etc.). Thus,the graphical item chooser 116 may include other criteria selectionportions in addition to the criteria selection portions 206-208.

In at least one embodiment, the graphical item chooser 116 may use thesort algorithm 120 to dynamically sort the candidate products orservices. Such dynamic sorting may take place in response to anyaddition or removal of one or more of the objective icons 204(1)-204(N)to or from the primary criteria selection portion 206 and/or thesecondary criteria selection portion 208. Thus, the candidate productsor services displayed in the result display portion 210 may alsodynamically change in response to the addition or removal of the one ormore of the objective icons.

Moreover, when there is an insufficient number of objective icons placedin the primary criteria selection portion 206 and/or the secondarycriteria selection area 208 for the sort algorithm 120 to generate alist of sorted products or services, the result display portion 210 maydisplay an information message. The information message may indicate tothe user that one or more of the objective icons 204(1)-204(N) are to beplaced in at least one of the selection portions. For example, in thecontext of cameras, the information message may state, “Please select atleast two images to see some results.”

The navigation button 218 of the graphical item chooser 116 may enablethe user to navigate to the next option of the graphical item chooser116. Likewise, the navigation button 220 may enable the user tonavigation to the previous option of the graphical item chooser 116.However, as shown in FIGS. 2a and 2b , the navigation button 220 may beinoperable if there are no previous options. In some embodiments, thegraphical item chooser 116 may enable the user to skip the weightedobjective criteria selection operation shown in FIGS. 2a and 2b via thenavigation 218. In this way, the user may proceed directly to the binaryfeature selection operations illustrated in FIGS. 5a and 5b , asdescribed below.

FIGS. 5a and 5b show an illustrative user interface screen 500 of thegraphical item chooser 116 that enable the binary selection of desiredfeatures for a product or service, in accordance with one or moreembodiments. The graphical item chooser 116 may be implemented by theweb browser 114. As described above, the user may perform the binaryselection following the weighted criteria selection by using thenavigation button 218.

As shown in FIG. 5a , the graphical item chooser 116 may display a workarea 202 in the user interface screen 500. In various embodiments, thework area 202 may display a plurality of feature icons 502(1)-502(N), apositive criteria selection portion 504, a negative criteria selectionportion 504, result display portion 510, as well as navigation buttons218-220.

Each of the feature icons 502(1)-502(N) may represent a particularfeature of an ideal product or service that the user desires. In thecontext of a graphical item chooser 116 that assists a user inpurchasing a digital camera, each of the feature icons 502(1)-502(N) mayrepresent a feature of the ideal camera. For example, feature icon502(1) may represent the ability of a camera to accept an add-on lens,feature icon 502(2) may represent a physical view finder; feature icon502(3) may represent high-definition (HD) connectivity, feature icon502(4) represents a slim body (e.g., less than 1 inch thick), and so onand forth.

However, in the example of a graphical item chooser 116 that assists auser in selecting an employee to perform a task, the feature icons502(1)-502(7) may represent attributes of an ideal employee (e.g.,available on call, willing to relocate, available for night shift,willing to travel, available for weekdays, available for weekends,and/or the like).

Further, in the example of a graphical item chooser 116 that assists auser in selecting a canine companion, the feature icons 502(1)-502(7)may represent attributes of an ideal companion pet (e.g., short coat,long coat, minimal shedding, good with children, small size, large size,and/or the like).

In various embodiments, the feature icons 502(1)-502(N) may be presentedin a linear fashion (i.e., in one or more rows). In some of theseembodiments, the one or more rows of icons 502(1)-502(N) may bepresented linearly in a scrollable window with at least one scroll bar,in the event that the work area 202 is not able to simultaneous displayall the icons 502(1)-502(N). However, in other embodiments, the featuresicons 502(1)-502(N) may be presented in a randomly stacked fashion inthe same manner as the objective icons 204(1)-204(N) described above. Insome embodiments, each of the feature icons 502(1)-502(N) may presentadditional details (e.g., additional details 508) in response to thepositioning of a pointer (e.g., pointer 302) over the icon, similar tothe operation of the objective icons 204(1)-204(N) described in FIG. 3.

As shown in FIG. 5b , the user may select one or more desired featuresby dragging and dropping one or more of the corresponding feature icons502(1)-502(N) into the positive criteria selection portion 504. Forexample, in the context of camera purchasing, the user may drag and dropicons 502(2) and 502(4) into the positive criteria selection portion 504to select a camera with a slim body and a physical view finder. Thus, insuch an example, the positive criteria selection portion 504 may belabeled as “I would like these features.”

The user may also exclude or more undesirable features by dragging anddropping one or more of the corresponding feature icons 502(1)-502(N)into the negative criteria selection portion 504. For example, in thecontext of camera purchasing, the user may drag and drop icon 502(N)into the negative criteria selection portion 504 to exclude a camerawith manual control. Thus, in such an example, the negative criteriaselection portion may be labeled as “exclude cameras with thesefeatures.” Nevertheless, it will be appreciated that the positiveselection portion 504 and the negative criteria selection portion 504,may be implemented in other ways (e.g., via checkboxes, radio buttons,questionnaires, etc.), in the same manner as described with respect tothe primary and secondary criteria selection portions 206 and 208 inFIGS. 2a and 2 b.

In various embodiments, the sort algorithm 120 may dynamically rearrangethe list of products or services previously displayed in the resultdisplay section 510 based on the one or more of the feature icons502(1)-502(N) in the positive criteria selection portion 504 and/or thenegative selection criteria selection portion 506.

Specifically, the sort algorithm 120 may exclude any previouslydisplayed product or service that does not include a feature representedby at least one feature icon in the positive criteria selection portion504. For example, in the context of camera purchasing, the sortalgorithm 120 may exclude camera 212(2) as a candidate camera that isdisplayed the result display portion 510 because camera 212(2) does nothave a slim body (e.g., less than 1 inch thick), as specified by thefeature icon 502(4). Likewise, the algorithm 110 may exclude camera212(4) as a candidate camera that is displayed in the result displayportion 510 because camera 212(4) does not have a view finder, asspecified by the feature icon 502(2).

Further, the sort algorithm 120 may also exclude any previouslydisplayed product or service that includes a feature represented by atleast one feature icon placed in the negative criteria selection portion506. In another example in the context of camera purchasing, the sortalgorithm 120 may exclude camera 212(5) as a candidate camera that isdisplayed in the result display portion 510 because camera 212(5)includes manual control, as specified by the feature icon 502(N). Invarious embodiments, the sort algorithm 120 may also dynamically excludeor restore products or services based on changes to positive andnegative criteria selection portions 504 and 506, respectively. Forexample, the sort algorithm 120 may determine that one or more featureicons have been removed from the positive criteria selection portion 504and/or the negative criteria selection portion 506. As a result, thesort algorithm 120 may restore the affected product or service back intothe list of products or services for display. In some embodiments, theexclusion of product or services from being displayed in the resultdisplay portion 510 may enable the display of one or more additionalproducts or services by the sort algorithm 120. For example, in thecontext of camera purchasing, cameras 212(6)-216(8), which have not beenpreviously displayed, may be displayed due to the exclusion of cameras212(2) and 212(4)-212(5).

Moreover, in at least one embodiment, the sort algorithm 120 may alsorecalculate the suitability of the products or services based on the oneor more features 502(1)-502(N) placed in the positive criteria selectionportion 504 and/or the negative criteria selection portion 506. Forexample, in the context of camera purchasing, cameras 216(6)-212(8) mayhave bodies that are less thick than the body of the camera 212(3).Thus, as the sort algorithm 120 accounts for the placement of thefeature icon 502(3) in the positive criteria selection portion 504, thesort algorithm 120 may adjust the scores for the cameras 212(6)-212(8)and move them ahead of camera 212(3) in the result display portion 510as being more suitable. For example, the sort algorithm 120 may multiplethe score of each of the cameras 212(6)-218(8) by a positive weightfactor (e.g., 1.2) for each feature it possesses that has been placed inthe positive criteria selection portion 504 via a corresponding featureicon.

In other embodiments, rather than excluding each product or service thatincludes a feature that has been placed in the negative criteriaselection portion 506, the sort algorithm may multiple the score of eachpreviously product or service by a negative weight factor. (e.g., 0.8).The negative weight factor may be assigned to each product or servicefor each feature that the product or service possesses that isrepresented by a feature icon in the negative criteria selection portion506. For example, the sort algorithm 120 may multiply the score of thecamera 212(2), or the score of 5.9 by the negative weight factor 0.8,resulting in a new score of 4.6 for the camera 212(2). The score of 4.6may cause the camera 212(2) to drop lower than the camera 212(5). Asshown in FIG. 5b , this drop in score may cause camera 212(2) todisappear from the result display portion 510. Nevertheless, suchredistribution and weighting may also be dynamically reversed when thesort algorithm 120 determines that one or more feature icons have beenremoved from the positive criteria selection portion 504 and/or thenegative criteria selection portion 506. In embodiments where the userhas bypassed the weighted objective criteria selection shown in theFIGS. 2a and 2b , the graphical item chooser 116 may operate in adifferent manner. In such embodiments, the graphical item chooser 116may exclude one or more candidate products or services based on theplacement of at least one feature icon in the positive criteriaselection portion 504 and/or the negative criteria selection portion506. Once the exclusion is complete, the graphical item chooser 116 maydisplay the remaining candidate products or services in the resultdisplay portion 510. In some embodiments, the graphical item chooser 116may present the remaining candidate products or service as a list thatis sorted according to the review rating score (e.g., score 516) foreach product or service (e.g., the highest rated to the lowest rated, orvice versa). Once again, in various embodiments, the sort algorithm 120may detect that one or more feature icons have been removed from orrestored to the positive criteria selection portion 504 and/or thenegative criteria selection portion 506. As a result, the sort algorithm120 may dynamically restore each affected product or service back intothe list of products or services for display.

In alternatives of such embodiments, rather than excluding candidateproducts or services, the sort algorithm 120 may multiple the reviewrating score of each product or service by one or more positive weightfactors or one or more negative weight factors. The positive weightingor negative weighting may be implemented based on the placement ofcorresponding feature icons in the positive criteria selection portion504 or the negative criteria selection portion 506. The candidateproducts or services may be further sorted for display based on theweighted review rating scores.

However, when there are an insufficient number of features icons placedin the positive criteria selection portion 504 and/or the negativecriteria selection portion 506 to display a list of suitable products orservices, the result display portion 510 may display an informationmessage. The information message may indicate to the user that one ormore of the feature icons 502(1)-502(N) are to be placed in at least oneof the selection portions. For example, in the context of cameras, theinformation message may state, “Please select at least one feature tosee some results.”

As shown in FIG. 5b , the result display portion 510 may once againdisplay each of the products or services via a pictorial representation(e.g., picture 512), and/or via a written description (e.g., writtendescription 514). The written description may include information suchas the manufacturer, service provider, style, model, features, and/orhighlights of the particular product or service. In some embodiments,the result display portion 510 may further display the suitability scoreor review rating (e.g., score 516) for each of the sorted product orservice.

Once again, the navigation button 218 of the graphical item chooser 116may enable the user to navigate to the next option of the graphical itemchooser 116. Likewise, the navigation button 220 may enable the user tonavigate to the previous option of the graphical item chooser 116. Thus,by using the navigation buttons, the user may proceed to a resultcustomization operation illustrated in FIGS. 5a and 5b , as describedbelow. In some embodiments, the graphical item chooser 116 may enable auser to skip the binary selection operation described in FIGS. 5a and 5b.

It will be appreciated that in other embodiments, the binary selectionof the positive features and negative features for a product or servicemay be accomplished with variable rating and selection. In suchembodiments, the positive criteria selection portion 504 and thenegative selection portion 506 shown in FIGS. 5a and 5b may be replacedwith a gradual rating and selection interface. For example, but not as alimitation, each of the feature icons 502(1)-502(N) in the work area 202may be provided with a slider bar that enable a user to rate thedesirability of each feature from a scale of 1-10, with ‘1” being thelowest desirability rating and “10” being the highest desirabilityrating. In another non-limiting example, each of the feature icons502(1)-502(N) may be provided with a set of five selectable stars, inwhich the user may select more stars for more desirability features, andless stars for less desirable features. The sort algorithm 120 may beconfigured to force the user to rate all the features, such asrepresented by the feature icons 502(1)-502(N). Alternatively, the sortalgorithm 120 may allow the user to provide ratings for only some of thefeatures (e.g., a predetermined minimal number or predetermined minimalpercentage of the total features).

In some embodiments, the sort algorithm 120 may perform binary selectionof the features by treating a predetermined number or percentage of thelowest rated features as undesirable (e.g., negatively selected).Likewise, the sort algorithm 120 may also treat a predetermined numberor percentage of the highest rated features as desirable (e.g. positiveselected). For example, but not as a limitation, in an instance wherethe user has rated a total of six features, the sort algorithm 102 maytreat the three highest rated features as being positively selected,i.e., desirable, while treating the three lowest rated feature as beingnegatively selected, i.e., undesirable. However, in instances where thenumber of rated features is below a number threshold, the rated featuresmay be treated as positively selected regardless of the ratings, with nofeatures being treated as negatively selected.

In other embodiments, rather than providing each of the feature icons502(1)-502(N) with its individual variable rating interface (e.g.,slider bar, selectable stars, etc), the work area 202 may include a dragand drop variable rating portion that is similar in appearance to one ofthe selection portions 504-506. In such embodiments, the sort algorithm120 may enable the user to rate one or more features by the relativepositioning of their corresponding feature icons in the drag and dropvariable rating portion. For example, but not a limitation, the sortalgorithm 120 may interpret the desirability of each feature based onproximity of each corresponding feature icon to a left side of the dragand drop variable rating portion. Put it another way, the sort algorithm120 may enable a user may to line up feature icons from left to rightaccording to the desirability of each corresponding feature. In otherexamples, the sort algorithm 120 may also enable a user to ratedesirability by other positioning techniques (right to left, top tobottom, etc.). Accordingly, the drag and drop variable portion may beaccompanied by the appropriate instructions regarding the positioning ofthe feature icons.

In further embodiments, the sort algorithm 120 may also use the ratingreceived by each of the one or more features to rank products orservices, rather than implement binary selection. In at least oneembodiment, the rating received by each product or service may be usedby the sort algorithm 120 as weight factors (e.g., ratings of 1-10) forthe adjustment of the suitability scores of the products or services.

FIGS. 6a and 6b show an illustrative user interface screen 600 of thegraphical item chooser 116 that enables customization of the product orservice recommendations, in accordance with one or more embodiments. Theproduct or service recommendations may be in the form of a sortedrecommendation list 602 that is displayed in a result display portion604 in the work area 202. The sorted recommendation list 602 may beobtained via the weighted objective selection operation described inFIGS. 2a and 2b , and/or the binary selection operation described inFIGS. 5a and 5b . In the context of cameras, the sorted recommendationlist 602 may include a list of cameras 604(1)-604(5). Each entry in thesorted recommendation list 602 may include a pictorial representation ofa particular product or service (e.g., thumbnail 606), a suitabilityscore (e.g., suitability score 608), a price for the particular productor service (e.g., price 610), a written description (e.g., description612), and one or more hyperlinks for the product or services (e.g.,link(s) 614).

The price (e.g., price 610) of the product or service in each entry maybe obtained from the one or more servers 102 and stored on theelectronic device 104. In some embodiments, the price for each entry maybe simultaneously downloaded with the graphical item chooser 116. Inother embodiments, the graphical item chooser 116 may periodically querythe one or more servers 102 at a predetermined interval to obtain themost update-to-date price. The graphical item chooser 116 may alsoinstantiate a price display that provides links to retailer so that theuser may purchase the one or more products or services displayed in thesorted recommendation list 602. An example price display is illustratedin FIG. 7.

FIG. 7 shows an example price display 702 that is instantiated when auser positions a pointer (e.g., pointer 302) over a price (e.g., price610) that is displayed as part of the sorted recommendation list 602.Nevertheless, it will be appreciated that in other embodiments, theprice display 702 may be instantiated in response to other actions, suchas one or more clicks, one or more swipes, etc., over the price (e.g.,price 610).

As shown, the price display 702 may include a list of retailers704(1)-704(4). The price charged by each of the retailers, and as wellas links to the merchant website of each retailer, may also be displayedin the price display 702. For example, the price display 702 may showthat the price 706 that the retailer A 704(1) charges for a particularproduct or service is $195. The price display 702 may also include ahyperlink 708 that navigates the user to a merchant website of theretailer A 704(1) so that the user may purchase the product or service.In some embodiments, the user may dismiss the price display 702, i.e.,make it disappear by positioning the pointer away from the correspondingprice (e.g., price 610). In other embodiments, the user may use thebutton 720 to dismiss the price display 702.

Thus, returning to FIG. 6a , the price displayed in each product orservice entry of the sorted recommendation list 602 may be the averageprice, the median price, the highest price, or the lowest price that isderived from the prices charged by the different retailers (e.g.,retailers 704(1)-704(4).

As further shown in FIG. 6a , the written description (e.g., description612) for each product or service entry of the sorted recommendation list602 may include information such as the manufacturer, service provider,style, model, features, and/or highlights of the particular product orservice. Further, the one or more links (e.g., link(s) 614) for eachproduct or service entry of the sorted recommendation list 602 mayinclude a hyperlink to a website that includes a product or servicereview for the particular product or service, and/or a website thatprovide more details regarding the product or service.

The sorted recommendation list 602 may include a filter selection menu616. The filter section portion 604 may enable a user to refine thesorted recommendation list 602. In turn, the graphical item chooser 116may use the sort algorithm 120 to filter the sorted recommendation list602 based on user input into the filter selection menu 616. In variousembodiments, the filter selection menu 616 may enable the user toexclude products or services that are above a certain price limit. In atleast one embodiment, the filter selection menu 616 may include aplurality of selectable price limits (e.g., price limits havingcheckboxes, radio buttons, or the like.) In reference to FIG. 6a , whenthe user selects $250 as the maximum price using a correspondingcheckbox, the graphical item chooser 116 may remove camera 604(5) fromthe sorted recommendation list 602 that are priced (e.g., median price,mean price) beyond the maximum price.

In other embodiments, the filter selection menu 616 may enable the userto refine the sorted recommendation list via other criteria, such as bymanufacturer, by service provider, by the suitability score (e.g.,exclude product or service that are below a predetermined suitabilitythreshold), and/or the like.

The work area 202 shown in FIG. 6a may further include a short listportion 606. In various embodiments, the graphical item chooser 116 mayenable a user to drag and drop one or more products or services from thesorted recommendation list 602 to the short list portion 606 for furtherconsideration. FIG. 6b shows the operation of the short list portion 606in the context of cameras. In the example shown, the user may drag anddrop, or otherwise place cameras 604(1) and 601(4) into the short listportion 606. The placement of a product or service in the short listportion 606 also moves the associated pictorial representation (e.g.,thumbnail 606), the suitability score (e.g., suitability score 608), theprice (e.g., price 610), the written description (e.g., description612), and the one or more hyperlinks for the product or services (e.g.,link(s) 614) into the short list portion 606.

In at least one embodiment, the short list 606 may include a filterselection menu 618. The filter selection menu 618 may includecheckboxes, radio button, and or the like that provides user preferencesto the sort algorithm 120. In turn, the sort algorithm 120 may furthersort the products or services in the short list portion 606 according toone or more criteria. The one or more criteria include sort bymanufacturer, service provider, suitability score, price, and the like.

As additionally shown in FIG. 6b , the short list 606 may include aselectable interface portion 620 (e.g., a clickable button) that enablesthe user to clear the contents of the short list 606 so that new contentmay be placed in the short list 606. In some embodiments, the short list606 may include a selectable interface portion 622 (e.g., a clickablebutton) that, when selected, brings up a document, such as a webpage,that shows a side-by-side comparison of the products or services, suchas cameras 604(1) and 604(4), the that were placed in the short list606. For example, but not as a limitation, the side-by-side comparisondocument may compare the at least one of features, prices, advantages,disadvantages, and/or the like, of the products or services. In someembodiments, the result display portion 604 may also include aselectable portion that performs the same function as the selectableinterface portion 622.

It will be appreciated that while the graphical item chooser 116 may beimplemented as one or more web pages 108 in the web browser 114, thegraphical item chooser 116 may also be implemented as a standaloneapplication that runs on the electronic device 104. In such embodiments,the graphical item chooser may obtain data from the one or more servers102 without the use of a web browser framework.

In additional embodiments, the graphical item chooser 116 may beimplemented as a “thin client” such that the sorting of, as well as thegenerating of lists of recommended products or services, are performedon the one or more servers 102. In such embodiments, the graphical itemchooser 116 may not perform any sorting and list generation operationson its own. Rather, the graphical item chooser 116 may simply pass datato the one or more servers 102 to be processed. For example, thegraphical item chooser 116 may pass the data via the common gatewayinterface (CGI) protocol, the active server pages (ASP) protocol,asynchronous JavaScript and XML (AJAX), and/or the like.

Thus, returning to FIG. 1, at least one of the servers 102 may includeone or more processors 122 and a storage media 124, which includes anoperating system 126, as well as other modules. The modules may includeroutines, programs, objects, components, and data structures that causethe server 102 to perform particular tasks. The modules may include asort algorithm 128, a search engine 130, data storage 130, and a datainterface 132.

The operating system 126 may perform various function that enables theserver 102 to receive data via various inputs (e.g., user controls,network interfaces, memory devices), process the data using the one ormore processors 108 to generate output, and present the output (e.g.,display the data on an electronic display, store the data in memory, ortransmit the data to another electronic device). Accordingly, theoperating system 126 may include various program components forperforming such tasks.

The sort algorithm 128 may perform substantially the same functions asthe sort algorithm 120. In various embodiments, the sort algorithm 128may receive user selections with respect to the desired objectives foran ideal product or service, the features of an ideal product orservice, filtering and display selections. In turn, the sort algorithm128 may provide one or more lists of products or services sortedaccording to suitability and/or user filter and display selections.

The search engine 130 may perform searches related to the prices of theplurality of candidate products or services known to the graphical itemchooser 116. In various embodiments, the search engine 130 may checkvarious retailer websites for current prices. The search engine 130 mayperform such searches at predetermined intervals to obtain the mostup-to-date price.

The data storage 132 may perform substantially the same functions as thedata cache 122. In various embodiments, the data storage 132 may storesdata used by the sort algorithm 128. As further described below, suchdata may include, but not limited to, review rating data, hyperlinkdata, characteristics and/or features of various products or services,as well as other data used by the sort algorithm 128.

The data interface 134 may pass the user selections with respect to thedesired objectives for an ideal product or service, the features of anideal product or service, filtering and display selections to the sortalgorithm 128. Moreover, the data interface may also provide one or morelists of products or services sorted according to suitability and/oruser filter and display selections to a “thin client” graphical itemchooser 116 for display to the user.

Illustrative Operations

FIG. 8 to FIG. 10 show illustrative processes 800-1000 for implementinga graphical item chooser, such as the graphical item chooser 116, on oneor more electronic devices 104. Each of the processes 800-1000 isillustrated as a collection of blocks in a logical flow graph, whichrepresents a sequence of operations that can be implemented in hardware,software, or a combination thereof. In the context of software, theblocks represent computer-executable instructions that, when executed byone or more processors, perform the recited operations. Generally,computer-executable instructions include routines, programs, objects,components, data structures, and the like that perform particularfunctions or implement particular abstract data types. The order inwhich the operations are described is not intended to be construed as alimitation, and any number of the described blocks can be combined inany order and/or in parallel to implement the process. For discussionpurposes, the processes 800-1000 is described with reference to theenvironment 100 of FIG. 1.

FIG. 8 is a flow diagram of an illustrative process for determining oneor more product or service recommendations using the graphical itemchooser, in accordance with one or more embodiments.

At decision block 802, a user may indicate on an interface screen 200 ofthe graphical item chooser 116 whether to implement the objective-basedsorting of a plurality of candidate products or services. The graphicalitem chooser 116 may use objective-based sorting to recommend one ormore products or services to the user. In at least one embodiment, theuser may indicate that the objective-sorting should be implemented byplacing one or more objective icons into to the primary criteriaselection portion 206 and/or secondary criteria selection portion 208.If the user indicates that objective-based sorting should be implementedon the plurality of candidate products or services (“yes” at decisionblock 802), the process 800 may proceed to block 804.

At block 804, the graphical item chooser 116 may implement theobjective-based sorting of the plurality of candidate products orservices to generate a list of recommended products or services. Therecommend products or services may be suitable for the accomplishment ofthe objectives of the user.

At block 806, the graphical item chooser 116 may display the generated alist of recommended products or services in a result display portion210. In various embodiments, each entry in the list may include apictorial representation of a product or service (e.g., picture 212), awritten description (e.g., written description 214), and a suitabilityscore for the product or service (e.g., score 216).

At decision block 808, the user may indicate on an interface screen 600of the graphical item chooser 116 whether to implement the feature-basedselection of the plurality of candidate products or services. In atleast one embodiment, the plurality of candidate products or servicesmay be pre-sorted via objective-based sorting. In at least oneembodiments, the user may indicate that the feature-based selectionshould be implemented by placing one or more feature icons into thepositive criteria selection portion 504 or the negative criteriaselection portion 506. If the user indicates that feature-basedselection should be implemented on the plurality of candidate productsor services (“yes” at decision block 808), the process 800 may proceedto block 810.

At block 810, the graphical item chooser 116 may implement thefeature-based selection of the plurality of candidate products orservices. In some embodiments, the feature-based selection may generatea list of recommended products or services. In other embodiments inwhich the pluralities of candidate products or services are pre-sortedvia the objective-based sorting, the previously generated list ofrecommended products or services may be rearranged based on thefeature-based selection.

At block 812, the graphical item chooser 116 may display the generatedor rearranged list of recommended products or services in a resultdisplay portion (e.g., the display portion 210 or the display portion510).

However, returning to decision block 808, if the user indicates thatfeature-based selection should not be implemented on the plurality ofcandidate products or services (“no” at decision block 808), the process800 may proceed directly to block 812.

Further, returning to decision block 802, if the user indicates that theobjective-based sorting of the plurality of candidate products orservices should not be implemented (“no” at decision block 802), theprocess may proceed directly to block 810. In various embodiments, theuser may decline the performance of the objective-based sorting byactivating the navigation button 218 of the work area 202 to proceed tothe feature-based selection operation. At block 810, the graphical itemchooser 116 may implement the feature-based selection of the pluralityof candidate products or services to generate a list of recommendedproducts or services (e.g., results displayed in result display portion510).

It will be appreciated that in the process 800, at least one of theobjective-based sorting or the feature-based selection is to beimplemented. Otherwise, the graphical item chooser 116 may indicate thatthere is insufficient input to generate a list of recommended productsor services.

At block 812, the graphical item chooser 116 may display the generatedlist of recommended products or services in a result display portion210. In some embodiments, each product or service entry in the list mayinclude a pictorial representation of a product or service (e.g.,picture 512), a written description (e.g., written description 514), asuitability score for the product or service (e.g., score 516), a price(e.g., 610), and/or one or more links (e.g., link(s) 614).

At decision block 814, the user may indicate to the graphical itemchooser 116 whether the display of the recommend products or servicesshould be refined. In various embodiments, the refinements may includefiltering out recommendations by price, manufacturer, service provider,and/or suitability score. The refinements may further include displayingone or more prices and one or more buy options for at least one productor service. The refinement may additionally include placing one or moreof the recommended products or services into a short list portion 606.If the user indicates that the refinements should be implemented (“yes”at decision block 814), the process 800 may proceed to block 816.

At block 816, the graphical item chooser 116 may implement the one ormore display refinements on the generated list of recommended productsor services. Subsequently, the process 800 may loop back to block 812,at which point the graphical item chooser 116 may display the list ofrecommended products or services according to the display refinements.However, if the user indicates that no refinements are to be implemented(“no” at decision block 814), the process 800 may directly loop back toblock 812.

FIG. 9 is a flow diagram of an illustrative process 900 for implementingobjective-based sorting using the graphical item chooser, in accordancewith one or more embodiments. The process 900 may further describe block804 of the process 800.

At block 902, the graphical item chooser 116 may receive one or moreobjective icons (e.g., 204(1)-204(N)) into at least one of a primarycriteria selection portion 206 or a secondary criteria selection portion208. Each of the objective icons may represent an objective that a usermay accomplish with a product or service. Moreover, each of theobjective icons may be further associated with one or morecharacteristics of the product or service that facilitate the objective.In various embodiments, any objective icon received in the primarycriteria selection portion 206 may be given a greater weight (e.g., 2×)than any objective icon received in the secondary criteria selectionportion 208.

At block 904, the sort algorithm 120 may determine one or more mostdesired characteristics based on the received objective icons, as wellother factors. For example, in the context of a camera graphical itemchooser, the characteristic of “wide angle lens” may be chosen via theselection of 5 objective icons, and the characteristic of “zoom lens”may be chosen only once via the selection of a single objective icon. Asa result, the graphical item chooser 116 may heuristically determinethat the characteristic of “wide angle lens” is more desirable to theuser than the characteristic of “zoom lens.” In various embodiments, theother factors may include, but is not limited to, the weight assigned toeach of the first and secondary criteria selection portions, the reviewrating given to each product or service, and the like.

At block 906, the sort algorithm 120 may sort the plurality of candidateproducts or services based at least on similarities between one or morecharacteristics of each candidate product or service and the one or moremost desired characteristics. In various embodiments, the more closelythe characteristics of a particular candidate product or service matchthe one or more most desirable characteristics of the ideal product orservice, the more suitable the particular product or service isdetermined to be. In some embodiments, the determined suitability ofeach product or service may also influence by the review rating of theproduct or service. The sort algorithm 120 may dynamically sort thecandidate products or services in response to any addition or removal ofone or more of the objective icons 204(1)-204(N) to the primary criteriaselection portion 206 and/or the secondary criteria selection portion208.

At block 908, the graphical item chooser 116 may output the sortedproducts or services as a list in a result display portion, such as theresult display portion 210 (FIGS. 2a and 2b ). In various embodiments,the graphical item chooser 116 may output the entire list, or a topranked portion of the list according to a predetermined limitation.

FIG. 10 is a flow diagram of an illustrative process for implementfeature-based selection using the graphical item chooser, in accordancewith one or more embodiments. The process 1000 may further describeblock 810 of the process 800.

At block 1002, the graphical item chooser 116 may receive one or morefeature icons (e.g., 502(1)-502(N)) into at least one of a positivecriteria selection portion 504 or a negative criteria selection portion506. Each of the feature icons may represent a particular feature of theproduct or service. Any feature icon received into positive criteriaselection portion may represent a feature that the user desires in aproduct or service. Conversely, any feature icon received into thenegative criteria selection may represent a feature that the user doesnot want in a product or service. In alternative embodiments, the usermay select desired and/or undesirable features via other interfaces,such as interfaces that enable variable rating on a gradual scale viaslider bars or selectable stars, or the positioning of the feature iconsin a drag and drop variable rating portion described above in thecontext of FIGS. 5a and 5 b.

At block 1004, the graphical item chooser 116 may process a plurality ofcandidate products or services based at least one the received featuresicons or the variable feature ratings. In embodiments where theobjective-based sorting was bypassed, the graphical item chooser 116 mayprocess a plurality of candidate products or service and exclude anyproduct or service that includes features that the user does not desire.The graphical item chooser 116 may also exclude any product or servicethat does not have the features that the user desires. Following theexclusions, the graphical item chooser 116 may generate a list of theremaining products or services. In some of these embodiments, the listof the remaining products or services may be ranked according to theirreview rating score (e.g., from the highest review rating to the lowestreview rating).

In other embodiments in which objective-based sorting was previouslyperformed, the graphical item chooser 116 may rearrange a previouslygenerated ranked list of products or services. The rearrangement mayinclude exclude any product or service that includes features that theuser does not desire from the list. The rearrangement may also includeexclude any product or service that does not have the features that theuser desires form the list. During the processing, the graphical itemchooser 116 may also dynamically determine if one or more feature iconshave been removed from the positive criteria selection portion 504and/or the negative criteria selection portion 506. If so, the graphicalitem chooser 116 may restore the affected product or service back intothe list of products or services for display.

In alterative embodiments, the graphical item chooser 116 may modify thescore/reviewing rating of each product or service via positive weightingor negative weighting. The positive weighting or negative weighting maybe implemented based on the placement of corresponding feature icons inthe positive criteria selection portion 504 or the negative criteriaselection portion 506.

At block 1006, the graphical item chooser 116 may output the processedlist of products or services in a result display portion, such as theresult display portion 510 (FIGS. 5a and 5b ). In various embodiments,the graphical item chooser 116 may output the entire list or a topranked portion of the list according to a predetermined limitation.

In summary, the graphical item chooser in accordance with the variousembodiments may enable a user to select an appropriate product orservice without searching for information from multiple sources, orpossess in-depth knowledge regarding the product or service. It will beappreciated that while the embodiments above are described above withrespect to cameras, the graphical item chooser may be used for a varietyof searches. For example, but not as limitations, these searches mayinclude searches for a particular employee/contractor from a pool ofemployees/contractors, a college or university from various highereducation institutions, a particular pet from various species ofanimals, a particular travel destination/package from a plurality oftravel destinations/packages, or any other search where a decision makeris presented with a plurality of possible options, and imperfectknowledge regarding each possible options.

CONCLUSION

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described. Rather,the specific features and acts are disclosed as illustrative forms ofimplementing the claims.

What is claimed is:
 1. A computer implemented method, comprising:causing display of a user interface screen on a computing device of aparticular user; detecting a first detected movement of one or moreobjective icons from a work area of the user interface screen into aprimary criteria selection area of the user interface screen that iscaused by the particular user at the computing device; detecting asecond detected movement of one or more other objective icons from thework area into a secondary criteria selection area of the user interfacescreen that is caused by the particular user at the computing device, afirst characteristic associated with a first objective icon placed inthe primary criteria selection area being more desirable than a secondcharacteristic associated with a second objective icon placed in thesecondary criteria selection area; detecting that a third objective iconremains within the work area and is not placed in either the primarycriteria selection area or the secondary criteria selection area,wherein each of the first characteristic and the second characteristicis more desirable than a third characteristic associated with the thirdobjective icon that is within the work area; determining a desirabilityof individual characteristics of the first characteristic and the secondcharacteristic based at least in part on a frequency that the individualcharacteristics are selected by the particular user for association witha search for a plurality of candidate products or services, thefrequency that the individual characteristics are selected correspondingto a number of times that objective icons associated with the individualcharacteristics are selected via at least one of the first detectedmovement or the second detected movement caused by the particular user;sorting the plurality of candidate products or services for theparticular user based at least in part on a number of characteristics ofindividual candidate products or services that correspond to thedesirability of the individual characteristics associated with theobjective icons that are moved into the primary criteria selection areaand the secondary criteria selection area by the particular user, thesorting to provide one or more sorted products or services; and causingdisplay of images of the one or more sorted products or services, alongwith a corresponding price to purchase each of the one or more sortedproducts or services, on the user interface screen on the computingdevice, to facilitate purchase of at least one of the one or more sortedproducts or services.
 2. The computer implemented method of claim 1,wherein: a first desired characteristic represented by the firstobjective icon in the primary criteria selection area is given a firstpositive weight during the sorting; and a second desired characteristicrepresented by the second objective icon in the secondary criteriaselection area is given a second positive weight during the sorting, thefirst positive weight being higher than the second positive weight, andthe second positive weight being higher than zero.
 3. The computerimplemented method of claim 1, further comprising ascertaining that atleast one objective icon of the one or more objective icons or the oneor more other objective icons have been removed from at least one of theprimary criteria selection area or the secondary criteria selectionarea, and wherein the sorting includes sorting the plurality ofcandidate products or services based at least in part on the one or moreobjective icons and the one or more other objective icons that remain inthe primary criteria selection area or the secondary criteria selectionarea.
 4. The computer implemented method of claim 1, further comprising:detecting a third detected movement of one or more feature icons into atleast one of a positive criteria selection portion or a negativecriteria selection portion of the user interface screen, a feature iconof the one or more feature icons corresponding to a feature of theplurality of candidate products or services; and filtering out one ormore of the one or more sorted products or services based at least inpart on the one or more feature icons, a product or service beingfiltered out based at least in part on determining that the product orservice does not include a first feature corresponding to a firstfeature icon in the positive criteria selection portion or that theproduct or service includes a second feature corresponding to a secondfeature icon in the negative criteria selection portion, wherein thecausing display includes causing display of the one or more sortedproducts or services on the user interface screen without causingdisplay of the one or more of the one or more sorted products orservices that were filtered out.
 5. The computer implemented method ofclaim 4, further comprising: ascertaining that the first feature icon inthe positive criteria selection portion has been removed from thepositive criteria selection portion; and restoring at least onecandidate product or service that does not include the first featurecorresponding to the first feature icon in the positive criteriaselection portion into the one or more sorted products or services thatwas previously filtered out for not including the first featurecorresponding to the first feature icon in the positive criteriaselection portion.
 6. The computer implemented method of claim 4,further comprising: ascertaining that the second feature icon in thenegative criteria selection portion has been removed from the negativecriteria selection portion; and restoring at least one candidate productor service that includes the second feature corresponding to the secondfeature icon in the negative criteria selection portion into the one ormore sorted products or services that was previously filtered out forincluding the second feature corresponding to the second feature icon inthe negative criteria selection portion.
 7. The computer implementedmethod of claim 1, wherein the sorting further includes sorting theplurality of candidate products or services based at least on a numberof characteristics of individual candidate products or services thatcorresponds to the first characteristic and the second characteristic.8. The computer implemented method of claim 1, wherein the one or moreobjective icons represents one or more physical characteristics of theplurality of candidate products or services.
 9. The computer implementedmethod of claim 1, further comprising determining that the firstobjective icon is associated with at least the first characteristic anda third characteristic, the first characteristics and the thirdcharacteristic being more desirable that the second characteristicassociated with the second objective icon.
 10. The computer implementedmethod of claim 1, further comprising: determining a firstcharacteristic frequency associated with the first characteristiccorresponding to a first number of times that the one or more objectiveicons associated with the first characteristic are moved to the primarycriteria selection area; and determining a second characteristicfrequency associated with the second characteristic corresponding to asecond number of times that the one or more other objective iconsassociated with the second characteristic are moved to the secondarycriteria selection area.
 11. One or more non-transitory storage mediastoring computer-executable instructions that, when executed, cause oneor more processors to perform acts comprising: classifying one or moreobjective icons that are moved from a work area of a user interfacescreen to a primary criteria selection area of the user interface screenvia a first input from a particular user, the first input identifyingthe one or more objective icons as primary objective icons, wherein afirst objective icon of the one or more objective icons represents afirst feature of a product or service that is requested for purchase,wherein the first feature represents a first plurality ofcharacteristics of the product or service that is requested forpurchase; classifying one or more additional objective icons that aremoved from the work area to a secondary criteria selection area of theuser interface screen via a second input from the particular user, thesecond input identifying the one or more additional objective icons assecondary objective icons, at least one primary objective icon of theprimary objective icons representing multiple desired primarycharacteristics of the product or service that is requested for purchaseand at least one secondary objective icon of the secondary objectiveicons representing multiple desired secondary characteristics of theproduct or service that is requested for purchase; determining adesirability of individual characteristics of the primarycharacteristics of the product or service that is requested for purchaseand the secondary characteristics of the product or service that isrequested for purchase, based at least in part on a frequency that aprimary characteristic or a secondary characteristic is selected by theparticular user for association with a search for the product orservice, the frequency of the primary characteristic or the secondarycharacteristic being selected corresponding to a number of times thatobjective icons associated with the primary characteristic or thesecondary characteristic are selected via movement of the one or moreobjective icons or movement of the one or more additional objectiveicons by at least one of the first input or the second input from theparticular user; sorting a plurality of candidate products or servicesfor the particular user based at least in part on similarities betweenone or more characteristics of individual candidate products or servicesof the plurality of candidate products and services and the desirabilityof the individual characteristics represented by the one or moreobjective icons or by the one or more additional objective icons,wherein the sorting weights a similarity between a characteristic of theindividual candidate products or services and a desired primarycharacteristic of the multiple desired primary characteristics more thana similarity between another characteristic of the individual candidateproducts or services and a desired secondary characteristic of themultiple desired secondary characteristics, the sorting providing one ormore sorted products or services; and serving for display the one ormore sorted products or services on the user interface screen based atleast in part on the sorting of the plurality of candidate products orservices.
 12. The one or more non-transitory storage media of claim 11,further comprising instructions that when executed, cause the one ormore processors to perform at least one of expanding an objective iconor instantiating additional information regarding the objective icon inresponse to an emphasis action on the objective icon.
 13. The one ormore non-transitory storage media of claim 11, wherein the serving fordisplay includes serving a list of suitable products or services fordisplay in a first order or a second order, the first order being from amost suitable to a least suitable, the second order being from the leastsuitable to the most suitable based at least in part on the sorting. 14.The one or more non-transitory storage media of claim 11, wherein thesorting includes generating a suitability score for the individualcandidate products or services based at least in part on thesimilarities between a respective characteristics of the individualcandidate products or services and the desired primary characteristicand the desired secondary characteristic.
 15. The one or morenon-transitory storage media of claim 11, further comprisinginstructions that when executed, cause the one or more processors toperform an act of ascertaining that one or more of the one or moreobjective icons or one or more of the one or more additional objectiveicons have been removed from at least one of the primary criteriaselection area or the secondary criteria selection area, wherein thesorting includes determining one or more most desired characteristics ofthe product or service based at least in part on at least one remainingobjective icon.
 16. The one or more non-transitory storage media ofclaim 11, further comprising instructions that when executed, cause theone or more processors to perform acts of: filtering out one or more ofthe one or more sorted products or services, a product or service of theone or more sorted products or services being filtered out based atleast in part on determining that the product or service does notinclude a second feature corresponding to a first objective icon in apositive criteria selection portion or based at least in part ondetermining that the product or service includes a second featurecorresponding to a second feature icon in a negative criteria selectionportion; and causing display of the one or more sorted products orservices without causing display of the one or more of the one or moresorted products or services on the user interface screen.
 17. The one ormore non-transitory storage media of claim 16, further comprisinginstructions that when executed, cause the one or more processors toperform acts of: ascertaining that the first feature icon in thepositive criteria selection portion has been removed from the positivecriteria selection portion; and adding at least one product or servicethat does not include the first feature corresponding to the firstfeature icon in the positive criteria selection portion to the one ormore sorted products or services.
 18. The one or more non-transitorystorage media of claim 16, further comprising instructions that whenexecuted, cause the one or more processors to perform acts of:ascertaining that the second feature icon in the negative criteriaselection portion has been removed from the negative criteria selectionportion; and adding at least one product or service that includes thesecond feature corresponding to the second feature icon in the negativecriteria selection portion to the one or more sorted products orservices.
 19. The one or more non-transitory storage media of claim 11,wherein the serving for display includes serving for display at leastone of a pictorial representation, a suitability score, a writtendescription, a price, a review site hyperlink, a retailer hyperlink, ora side-by-side comparison with one or more other products or servicesfor at least one displayed product or service.
 20. The one or morenon-transitory storage media of claim 11, wherein the serving fordisplay includes serving for display a price for a displayed product orservice that is one of a lowest price, a highest price, an averageprice, or a median price of retail prices from a plurality of retailers.21. The one or more non-transitory storage media of claim 11, furthercomprising instructions that when executed, cause the one or moreprocessors to perform an act of refining the products or services servedfor display by excluding from display at least one product or serviceaccording to one of price, manufacturer, service provider, orsuitability score.
 22. The one or more non-transitory storage media ofclaim 11, further comprising instructions that when executed, cause theone or more processors to perform an act of refining the products orservices served for display by sorting the products or servicesaccording to one of price, manufacturer, service provider, orsuitability score.
 23. The one or more non-transitory storage media ofclaim 11, further comprising instructions that when executed, cause theone or more processors to perform an act of receiving at least oneproduct or service from the products or services served for display intoa group, and sorting the group according to one of price, manufacturer,service provider or suitability score based at least in part on at leasttwo products or services being received into the group.
 24. The one ormore non-transitory storage media of claim 11, wherein the one or moreobjective icons represents one or more physical characteristics of theplurality of candidate products or services.
 25. One or morenon-transitory storage media storing computer-executable instructionsthat, when executed, cause one or more processors to perform actscomprising: ascertaining numerical rankings for a plurality of features,individual numerical rankings of the plurality of features indicatingindividual desirability of the plurality of features to a particularuser, wherein the ascertaining comprises: detecting a first detectedmovement of a first one or more feature icons from a work area of a userinterface screen into a primary criteria selection area of the userinterface screen, detecting a second detected movement of a second oneor more feature icons from the work area into a secondary criteriaselection area of the user interface screen, wherein a first featureicon of the first one or more feature icons represents a first featureof a product that is to be purchased, wherein a second feature icon ofthe second one or more feature icons represents a second feature of theproduct that is to be purchased, wherein the first feature is moredesirable than the second feature, wherein the first feature representsa first plurality of characteristics of the product, and wherein thesecond feature represents a second plurality of characteristics of theproduct, and determining a desirability of individual features of theplurality of features based at least in part on a frequency thatindividual feature icons of the first one or more feature icons or thesecond one or more feature icons are selected by the particular user forassociation with a search for a plurality of candidate products orservices, the frequency that the individual feature icons are selectedcorresponding to a number of times that the individual feature icons areselected via at least one of the first detected movement or the seconddetected movement; ranking the plurality of features according tocorresponding numerical rankings; and serving for display a group ofproducts or services on the user interface screen of the particular userbased at least in part on the ranking of the plurality of features. 26.The one or more non-transitory storage media of claim 25, furthercomprising instructions that when executed, cause the one or moreprocessors to perform acts of: automatically classifying a firstpredetermined quantity of ranked features with highest numericalrankings as corresponding positive features that are desirable to theparticular user, and a second predetermined quantity of ranked featureswith lowest numerical rankings as corresponding negative features thatare undesired by the particular user; modifying the group of products orservices to provide a modified group of products or services by removingone or more products or services from the group, a product or servicebeing removed based at least in part on determining that the product orservice does not include a positive feature or based at least in part ondetermining that the product or service includes a negative feature; andreceiving the numerical rankings of the plurality of features that areprovided using a sliding bar scale or selectable stars.
 27. The one ormore non-transitory storage media of claim 26, further comprisinginstructions that when executed, cause the one or more processors toperform acts of: reclassifying a particular positive feature as anothernegative feature; and restoring at least one product or service thatdoes not include the particular positive feature into the group ofproducts or services based at least in part on determining that the atleast one product or service was previously removed for not includingthe particular positive feature.
 28. The one or more non-transitorystorage media of claim 26, further comprising instructions that whenexecuted, cause the one or more processors to perform acts of:reclassifying a particular negative feature as another positive feature;and restoring at least one product or service that includes theparticular negative feature into the group of products or services basedat least in part on determining that the at least one product or servicewas previously removed for including the particular negative feature.29. The one or more non-transitory storage media of claim 26, whereinthe serving for display includes serving for display at least one of apictorial representation, a suitability score, a written description, aprice, a review site hyperlink, a retailer hyperlink, or a side-by-sidecomparison with one or more other products or services for one or moreproducts or services in the modified group of products or services. 30.The one or more non-transitory storage media of claim 26, wherein theserving for display includes serving for display a price for a productor service in the modified group of products or services that is one ofa lowest price, a highest price, an average price, or a median price ofretail prices from a plurality of retailers.
 31. The one or morenon-transitory storage media of claim 26, further comprisinginstructions that when executed, cause the one or more processors toperform an act of refining the modified group of products or services byexcluding at least one product or service according to one of price,manufacturer, service provider, or suitability score.
 32. The one ormore non-transitory storage media of claim 26, further comprisinginstructions that when executed, cause the one or more processors toperform an act of refining the modified group of products or services bysorting the modified group according to one of price, manufacturer,service provider, or suitability score.
 33. The one or morenon-transitory storage media of claim 26, further comprisinginstructions that when executed, cause the one or more processors toperform an act of receiving at least one product or service from themodified group of products or services into a new group, and sorting thenew group according to one of price, manufacturer, service provider orsuitability score in response to at least two products or services arereceived into the new group.
 34. The one or more non-transitory storagemedia of claim 25, wherein each of the plurality of features correspondsto a different feature icon, and wherein the ascertaining includes atleast one of ascertaining the numerical rankings of the features basedon relative positions of a plurality of feature icons or detectingrelative positions of the plurality of feature icons in an iconarrangement area of the user interface screen.